package com.ruoyi.produce.base.offer.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
import java.util.List;

/**
 * 生产报价，数据传输对象，面向前端需求
 * @author lsy 2021.7.28
 * 修改：
 */
@Data
public class ProduceOfferDto {
    /**
     * 生产报价编号
     */
    @NotNull(message = "生产报价编号不能为空")
    @ApiModelProperty(value = "生产报价编号", required = true)
    private String produceOfferId;

    /**
     * 报价产品
     */
    @NotNull(message = "报价产品不能为空")
    @ApiModelProperty(value = "报价产品", required = true)
    private String produceId;

    /**
     * 关联编号
     */
    @ApiModelProperty("关联编号")
    private String associationId;

    /**
     * 产品名称
     */
    @ApiModelProperty("产品名称")
    private String produceName;

    /**
     * 类别名称
     */
    @Excel(name = "类别名称")
    private String baseCategoryName;

    /**
     * 产品规格
     */
    @Excel(name = "产品规格")
    private String produceSpecs;

    /**
     * 产品品牌
     */
    @Excel(name = "产品品牌")
    private String produceBrand;

    /**
     * 计划报价数量
     */
    @ApiModelProperty("计划报价数量")
    private Double offerNumber;

    /**
     * 总成本
     */
    @ApiModelProperty("总成本")
    private Double totalCost;

    /**
     * 报价日期
     */
    @ApiModelProperty("报价日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp createTime;

    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;

    /**
     * 报价明细
     */
    @ApiModelProperty("报价明细")
    private List<ProduceOfferListDto> offerListDtoList;
}
